#ifndef BLOQUE_H_
#define BLOQUE_H_

using namespace std;

#include <list>
#include <fstream>
#include "Compuesto.h"
#include "Registro.h"

//Unidad de almacenamiento de Registros.
class Bloque: public Componente, public Compuesto {
public:
	Bloque(int tamanio);
	int getTamanio();
	int esBuscado(list<string> claves);
	friend ostream& operator <<(ostream &salida, const Bloque& valor) {
		for (int i = 0; i < valor.getCantidadComponentes(); i++) {

			Registro Componente = valor.getComponente(i);
			Registro* reg = &Componente;
			//si no funciona reever y crear un constructor o probar con el cast simple.
			salida << "\tRegistro " << i << ":" << endl;
			salida << (*reg) << endl;
		}
		return salida;
	}

private:
	int tamanio;
};

#endif /*BLOQUE_H_*/
